package com.ruoyi.dzzh.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.dzzh.domain.DzzhTask;
import com.ruoyi.dzzh.domain.FileTask;

/**
 * 巡查任务Mapper接口
 * 
 * @author cjt
 * @date 2023-03-17
 */
public interface DzzhTaskMapper 
{
    /**
     * 查询巡查任务
     * 
     * @param taskId 巡查任务主键
     * @return 巡查任务
     */
    public DzzhTask selectDzzhTaskByTaskId(Long taskId);

    /**
     * 查询巡查任务列表
     * 
     * @param dzzhTask 巡查任务
     * @return 巡查任务集合
     */
    public List<DzzhTask> selectDzzhTaskList(DzzhTask dzzhTask);

    /**
     * 新增巡查任务
     * 
     * @param dzzhTask 巡查任务
     * @return 结果
     */
    public int insertDzzhTask(DzzhTask dzzhTask);

    /**
     * 修改巡查任务
     * 
     * @param dzzhTask 巡查任务
     * @return 结果
     */
    public int updateDzzhTask(DzzhTask dzzhTask);

    /**
     * 删除巡查任务
     * 
     * @param taskId 巡查任务主键
     * @return 结果
     */
    public int deleteDzzhTaskByTaskId(Long taskId);

    /**
     * 批量删除巡查任务
     * 
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDzzhTaskByTaskIds(Long[] taskIds);

    /**
     * 批量删除巡查附件
     * 
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFileTaskByTaskIds(Long[] taskIds);
    
    /**
     * 批量新增巡查附件
     * 
     * @param fileTaskList 巡查附件列表
     * @return 结果
     */
    public int batchFileTask(List<FileTask> fileTaskList);
    

    /**
     * 通过巡查任务主键删除巡查附件信息
     * 
     * @param taskId 巡查任务ID
     * @return 结果
     */
    public int deleteFileTaskByTaskId(Long taskId);

    public List<Map<String, Object>> sortByUserYear();

}
